The invention generally relates to networks and, more particularly, the invention relates to mediating data transmission across a network.
Current networking technology enables end-users to connect their personal computers to the Internet via an Internet Service Provider (xe2x80x9cISPxe2x80x9d). To that end, end-users typically connect their personal computers to a modem that modulates packetized data in an analog signal to the ISP. The modem uses the well known Public Switched Telephone Network (xe2x80x9cPSTNxe2x80x9d) to connect to a corresponding modem port on a remote server of the ISP. Upon receipt of end-user data through the corresponding modem port, the ISP demodulates and routes the packetized data to a selected destination (e.g., a selected World Wide Web page) based upon routing information embedded in the data.
The total number of modem ports on a server for receiving end-user data typically is limited. For example, the server of a given ISP may have only twenty ports for receiving data from the PSTN. When all ports are used by other users (e.g., other end users accessing the Internet via the given ISP), the server returns an unavailable message to the PSTN indicating that there are no available ports on the server to receive the data. An end-user then may repeatedly attempt to access the server until one of the ports becomes available.
Transmitting unsuccessful port requests and their corresponding unavailable messages between the PSTN and server unnecessarily adds data traffic to the network. Moreover, after making the port request but prior to receipt of an unavailability message, the PSTN commonly attempts to reserve bandwidth on the connecting trunk between the PSTN and the server. Although relinquished upon receipt of the unavailability message, this reserved bandwidth can slow data flow across this network. In addition, the PSTN executes unnecessary processing steps in attempting to reserve the bandwidth. Accordingly, the process of requesting access to an unavailable modem port on a server is an inefficient utilization of network resources.
In accordance with one aspect of the invention, an apparatus and method of mediating data flow across a network from a network switching system to a server utilizes a control message that limits repeated attempts to access a busy server port. To that end, it first is determined if the server port is available so that a control message can be generated reflecting the determined availability of the server port. If the server port is determined to be not available, then the control message is generated to include command data commanding the network switching system to not transmit data to the server port until receipt of another control message having control data indicating that the server is available. In contrast, if the server port is determined to be available, then the control message is generated to include control data indicating that the server port is available. Once generated, the control message is forwarded to the network switching system.
In some embodiments, the server is polled to determine if the server port is available. In other embodiments, the availability of the server port is determined by receiving an unsolicited status message that originates from the server. The status message includes data indicating if the server port is available. After being received by the network switching system, data in the control message preferably controls the network switching system to not transmit data to the server port until receipt of a control message indicating that the port is available.
In preferred embodiments, a request message is received from the network switching system requesting access to the server port. This message may be received by a mediating unit that is either a part of the network switching system, a part of the server, or an intermediate unit between the network switching system and server. An access message responsively is forwarded to the server requesting access to the server port. A reply message then is received from the server indicating if the server port is available. The availability of the server port may be determined by counting, over a preselected time interval, the total number of consecutive reply messages from the server indicating that the server port is not available. Forwarding of the control message with the command data then is delayed until the total number of consecutive reply messages from the server over the preselected time interval exceeds a preselected number. In some embodiments, the control message is transmitted to the network switching system in lieu of reply messages. The preselected time interval preferably is reset if a reply message is received in the preselected time interval indicating that the server port is available.
In accordance with other aspects of the invention, a policy manager for mediating access by a network switching system to a server port on a server also utilizes command messages to limit repeated attempts to access a busy server port. Specifically, the policy manager includes port availability logic that monitors use of the server port. While monitoring the server port, the port availability logic determines if the server port is available. If not available, then a message generator that is coupled to the port availability logic responsively generates a command message commanding the network switching system to not transmit data to the server until receipt of a control message having control data indicating that the server is available. The policy manager thus transmits the command message toward the network switching system via an output.
In other embodiments, the message generates a control message indicating that the server port is available when the port availability logic determines that the server port is available. Accordingly, when generated, a control message is forwarded to the network switching system via the output.
In preferred embodiments, the policy manager includes an input that receives request messages from the network switching system requesting access to the server port. In response to receipt of at least one request message, the message generator generates a reply message denying access to the server port each time the port availability logic determines that the server port is unavailable. The policy manager also may include a timer that sets a preselected time interval, a counter that counts the total number of reply messages generated over the preselected time interval, and command message transmission logic that delays transmission of the control message toward the network switching system until the total number of reply messages generated over the preselected time interval exceeds a preselected number. In some embodiments, the network switching system is a part of an advanced intelligent network.
Preferred embodiments of the invention are implemented as a computer program product having a computer usable medium with computer readable program code thereon. The computer readable code may be read and utilized by the computer system in accordance with conventional processes.